@@ -87,7 +87,7 @@ gem 'bundler', '>= 1.5.0' |
||
| 87 | 87 |
gem 'coffee-rails', '~> 4.2' |
| 88 | 88 |
gem 'daemons', '~> 1.1.9' |
| 89 | 89 |
gem 'delayed_job', '~> 4.1.0' |
| 90 |
-gem 'delayed_job_active_record', github: 'collectiveidea/delayed_job_active_record', branch: 'master' |
|
| 90 |
+gem 'delayed_job_active_record', github: 'dsander/delayed_job_active_record', branch: 'rails5' |
|
| 91 | 91 |
gem 'devise','~> 4.2.0' |
| 92 | 92 |
gem 'em-http-request', '~> 1.1.2' |
| 93 | 93 |
gem 'faraday', '~> 0.9.0' |
@@ -18,9 +18,9 @@ GIT |
||
| 18 | 18 |
simple_oauth (~> 0.3.0) |
| 19 | 19 |
|
| 20 | 20 |
GIT |
| 21 |
- remote: git://github.com/collectiveidea/delayed_job_active_record.git |
|
| 22 |
- revision: 36f434c4fd660e8f11ce932be117e9c71dde7212 |
|
| 23 |
- branch: master |
|
| 21 |
+ remote: git://github.com/dsander/delayed_job_active_record.git |
|
| 22 |
+ revision: b314972ccc92e0e8b03b1589174d8fb9a82b3cd0 |
|
| 23 |
+ branch: rails5 |
|
| 24 | 24 |
specs: |
| 25 | 25 |
delayed_job_active_record (4.1.1) |
| 26 | 26 |
activerecord (>= 3.0, < 5.1) |
@@ -44,7 +44,7 @@ class Agent < ActiveRecord::Base |
||
| 44 | 44 |
after_save :possibly_update_event_expirations |
| 45 | 45 |
|
| 46 | 46 |
belongs_to :user, :inverse_of => :agents |
| 47 |
- belongs_to :service, :inverse_of => :agents |
|
| 47 |
+ belongs_to :service, :inverse_of => :agents, optional: true |
|
| 48 | 48 |
has_many :events, -> { order("events.id desc") }, :dependent => :delete_all, :inverse_of => :agent
|
| 49 | 49 |
has_one :most_recent_event, -> { order("events.id desc") }, :inverse_of => :agent, :class_name => "Event"
|
| 50 | 50 |
has_many :logs, -> { order("agent_logs.id desc") }, :dependent => :delete_all, :inverse_of => :agent, :class_name => "AgentLog"
|
@@ -3,10 +3,10 @@ |
||
| 3 | 3 |
# Agents' `last_error_log_at` column. These are often used to determine if an Agent is `working?`. |
| 4 | 4 |
class AgentLog < ActiveRecord::Base |
| 5 | 5 |
belongs_to :agent |
| 6 |
- belongs_to :inbound_event, :class_name => "Event" |
|
| 7 |
- belongs_to :outbound_event, :class_name => "Event" |
|
| 6 |
+ belongs_to :inbound_event, :class_name => "Event", optional: true |
|
| 7 |
+ belongs_to :outbound_event, :class_name => "Event", optional: true |
|
| 8 | 8 |
|
| 9 |
- validates_presence_of :agent, :message |
|
| 9 |
+ validates_presence_of :message |
|
| 10 | 10 |
validates_numericality_of :level, :only_integer => true, :greater_than_or_equal_to => 0, :less_than => 5 |
| 11 | 11 |
|
| 12 | 12 |
before_validation :scrub_message |
@@ -11,7 +11,7 @@ class Event < ActiveRecord::Base |
||
| 11 | 11 |
|
| 12 | 12 |
json_serialize :payload |
| 13 | 13 |
|
| 14 |
- belongs_to :user |
|
| 14 |
+ belongs_to :user, optional: true |
|
| 15 | 15 |
belongs_to :agent, :counter_cache => true |
| 16 | 16 |
|
| 17 | 17 |
has_many :agent_logs_as_inbound_event, :class_name => "AgentLog", :foreign_key => :inbound_event_id, :dependent => :nullify |
@@ -10,16 +10,18 @@ Delayed::Worker.logger = Rails.logger |
||
| 10 | 10 |
# Delayed::Worker.logger = Logger.new(Rails.root.join('log', 'delayed_job.log'))
|
| 11 | 11 |
# Delayed::Worker.logger.level = Logger::DEBUG |
| 12 | 12 |
|
| 13 |
-class Delayed::Job |
|
| 14 |
- scope :pending, -> { where("locked_at IS NULL AND attempts = 0") }
|
|
| 15 |
- scope :awaiting_retry, -> { where("failed_at IS NULL AND attempts > 0 AND locked_at IS NULL") }
|
|
| 16 |
- scope :failed, -> { where("failed_at IS NOT NULL") }
|
|
| 17 |
-end |
|
| 13 |
+ActiveSupport.on_load(:delayed_job_active_record) do |
|
| 14 |
+ class Delayed::Job |
|
| 15 |
+ scope :pending, -> { where("locked_at IS NULL AND attempts = 0") }
|
|
| 16 |
+ scope :awaiting_retry, -> { where("failed_at IS NULL AND attempts > 0 AND locked_at IS NULL") }
|
|
| 17 |
+ scope :failed, -> { where("failed_at IS NOT NULL") }
|
|
| 18 |
+ end |
|
| 18 | 19 |
|
| 19 |
-database_deadlocks_when_using_optimized_strategy = lambda do |
|
| 20 |
- ENV["DATABASE_ADAPTER"] == "mysql2" |
|
| 21 |
-end |
|
| 20 |
+ database_deadlocks_when_using_optimized_strategy = lambda do |
|
| 21 |
+ ENV["DATABASE_ADAPTER"] == "mysql2" |
|
| 22 |
+ end |
|
| 22 | 23 |
|
| 23 |
-Delayed::Backend::ActiveRecord.configure do |config| |
|
| 24 |
- config.reserve_sql_strategy = :default_sql |
|
| 25 |
-end if database_deadlocks_when_using_optimized_strategy.call |
|
| 24 |
+ Delayed::Backend::ActiveRecord.configure do |config| |
|
| 25 |
+ config.reserve_sql_strategy = :default_sql |
|
| 26 |
+ end if database_deadlocks_when_using_optimized_strategy.call |
|
| 27 |
+end |